function getWeeksOfYearWithMondayFirst() {  
  const now = new Date();  
  const year = now.getFullYear();  

  // 找到今年第一个周一的日期  
  let startDate = new Date(year, 0, 1); // 1月1日  
  let dayOfWeek = startDate.getDay(); // 0 = Sunday, 1 = Monday, ...  
  // 如果1月1日不是周一，则移动到第一个周一  
  if (dayOfWeek !== 1) {  
      startDate.setDate(startDate.getDate() + (8 - dayOfWeek) % 7);  
  }  

  let weeks = [];  
  let currentWeek = [];  

  // 从第一个周一开始遍历整个年份  
  let currentDate = startDate;  
  while (currentDate.getFullYear() === year) {  
      // 将日期添加到当前周（确保周一为第一个）  
      currentWeek.push(currentDate.toISOString().split('T')[0]);  

      // 移到下一天  
      currentDate.setDate(currentDate.getDate() + 1);  

      // 如果今天是下一个周一（或者已经是新的一年了），则开始一个新周  
      if (currentDate.getDay() === 1 || currentDate.getFullYear() !== year) {  
          weeks.push(currentWeek);  
          currentWeek = []; // 重置当前周数组  

          // 如果已经到下一年了，就跳出循环  
          if (currentDate.getFullYear() !== year) {  
              break;  
          }  
      }  
  }  

  // 如果最后一周（尽管可能不完整）不为空，也添加到结果中  
  if (currentWeek.length > 0) {  
      weeks.push(currentWeek);  
  }  

  return weeks;  
}  

// 调用函数并打印结果  
const weeksOfYear = getWeeksOfYearWithMondayFirst();  
console.log(weeksOfYear);